package org.aurora.core;

import org.apache.commons.cli.*;
import org.aurora.common.util.CommandlineUtil;
import org.aurora.core.server.scheduler.SchedulerConfig;

import java.lang.reflect.InvocationTargetException;
import java.util.Properties;

public class TestConfig {
    public static void main(String[] args) throws ParseException, InvocationTargetException, IllegalAccessException {
//        SchedulerConfig schedulerConfig = CommandlineUtil.parseCommandLineConfig(args, new SchedulerConfig());
    }

//
//    public static void main(String[] args) {
//        // 创建一个 Options 对象来定义命令行选项
//        Options options = new Options();
//        options.addOption("c", "city", true, "Your city");
//
//        // 创建一个 CommandLineParser 对象来解析命令行
//        CommandLineParser parser = new DefaultParser();
//        HelpFormatter formatter = new HelpFormatter();
//
//        try {
//            // 解析命令行参数
//            CommandLine cmd = parser.parse(options, args);
//
//            // 创建一个 Properties 对象来存储解析后的参数
//            Properties properties = new Properties();
//
//            // 检查并添加每个选项到 Properties 对象中
//            if (cmd.hasOption("n") || cmd.hasOption("name")) {
//                properties.setProperty("name", cmd.getOptionValue("n"));
//                // 或者使用 cmd.getOptionValue("name")，它们会返回相同的值
//            }
//            if (cmd.hasOption("a") || cmd.hasOption("age")) {
//                properties.setProperty("age", cmd.getOptionValue("a"));
//            }
//            if (cmd.hasOption("c") || cmd.hasOption("city")) {
//                properties.setProperty("city", cmd.getOptionValue("c"));
//            }
//
//            // 打印 Properties 对象中的内容
//            properties.forEach((k, v) -> System.out.println(k + " = " + v));
//
//        } catch (ParseException e) {
//            // 如果解析失败，打印帮助信息
//            System.err.println(e.getMessage());
//            formatter.printHelp("utility-name", options);
//
//            // 退出程序，状态码为1表示错误
//            System.exit(1);
//        }
//    }
}
